Arithmetic Shift
释义 Definition
算术移位:一种二进制位移操作,用于有符号整数。移位时会保留符号位(最高位):
- 算术右移会在左侧补入原来的符号位(0 或 1),因此常用于近似实现“除以 2 的幂”(向负无穷方向取整的效果常见于补码体系)。
- 算术左移通常与逻辑左移相同(右侧补 0),但可能导致溢出与符号改变。
(注:不同语言/CPU 对右移有符号数的行为可能有差异,但“算术移位”的目标就是符号扩展。)
发音 Pronunciation (IPA)
/ˌærɪθˈmetɪk ʃɪft/
例句 Examples
An arithmetic shift right keeps the sign bit.
算术右移会保留符号位。
In two’s-complement arithmetic, an arithmetic shift is often used to quickly divide signed integers by powers of two while preserving negative values correctly.
在二进制补码运算中,算术移位常用于快速把有符号整数除以 2 的幂,同时正确保留负数的符号特性。
词源 Etymology
arithmetic 来自希腊语 arithmos(“数字”),经拉丁语与法语进入英语,含义与“数的运算”相关;shift 表示“移动/移位”。合起来 arithmetic shift 字面意思是“用于算术(有符号数)运算的移位”,强调它与只处理位模式的 logical shift(逻辑移位) 的区别:关键在于对符号位的处理。
相关词 Related Words
文学与经典出处 Literary Works
- Computer Organization and Design(David A. Patterson, John L. Hennessy):在指令与数据表示章节讨论移位指令,区分逻辑移位与算术移位及其符号扩展。
- Structured Computer Organization(Andrew S. Tanenbaum):讲解机器级数据表示与移位操作时常提到算术右移对补码负数的影响。
- The Art of Computer Programming(Donald E. Knuth):在位运算与底层算术相关讨论中涉及移位作为高效算术操作的思想。